home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir31 / smix12.zip / MOD_INFO.TXT < prev    next >
Text File  |  1994-03-13  |  24KB  |  697 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                               The .MOD File Format
  7.                               --------------------
  8.                            Third Release.  March 1994
  9.  
  10.   This document describes the format of Amiga .MOD files.  It was written  by
  11.   DNA (Dave Coombs) and originally included as part of the Superiority Mix MOD
  12.   player by Enigma (Avery Pennarun) of Superiority Complex.
  13.  
  14.   You will only need this information if you're going to write a  MOD player.
  15.   If you aren't, don't bother reading this - you'll likely find it  extremely
  16.   boring and confusing.  If, on the other hand, you're an aspiring programmer
  17.   longing to make a  MOD player, read on...  you'll likely find it  extremely
  18.   boring and confusing.
  19.  
  20.   I should warn you, though, that .MOD is NOT the easiest file format on  the
  21.   planet.  We had even less information than this to start out with, so a lot
  22.   of the details here are either fuzzy, nonexistent, or have been filled in as
  23.   EnigmaLogic wrote Superiority MIX.
  24.  
  25.   This file  was painstakingly  typed  by DNA  (Dave Coombs)  of  Superiority
  26.   Complex.  Just colour me overworked and underpaid...  :-)  You are  free to
  27.   upload and distribute this document wherever and however you want, so long as
  28.   it's unmodified.  The  latest version of Superiority  MIX will include  any
  29.   revisions to this document. Although I made this as accurate as possible, I
  30.   can't guarantee that there are no errors, so use this information at your own
  31.   risk.
  32.  
  33.   Please contact me  at the  address below if  you find  any glaring  errors,
  34.   corrections, or more complete information regarding the format of MOD files
  35.   or other related file formats:
  36.                            Dave Coombs
  37.                            569 Cambrian Cr.
  38.                            Thunder Bay, ON
  39.                            Canada
  40.                            P7C 5C2
  41.   ---
  42.  
  43.   Extra special thanks go out to Andrew Sears of Whitby, Ontario, who  posted
  44.   all this information on NANet for us! We'd be lost without you! Also thanks
  45.   to whoever gave this information to HIM... (Thomas House was mentioned in the
  46.   original file) and so on.
  47.  
  48.   ---
  49.  
  50.   NOTES:
  51.     -  All numbers are decimal, unless I state otherwise.
  52.     -  "Word" variables are NOT stored with the Intel byte inversion thing. ie
  53.        40E6 hex WOULD be stored as 40 E6, not E6 40. To use these values on an
  54.        Intel processor (8086, 286, etc), you have to switch the bytes around.
  55.  
  56.   Have fun... (I'm SURE you won't...)
  57.  
  58.  
  59.                                      Page 1
  60.  
  61.  
  62.  
  63.  
  64.  
  65.   MOD FILE STRUCTURE
  66.   ------------------
  67.  
  68.   OFFSET    LENGTH    DESCRIPTION
  69.   ------    ------    -----------
  70.  
  71.   0         20        The title of the song. Remember to pad it with null (0)
  72.                       bytes.  If a title is exactly 20 characters long, it is
  73.                       NOT null-terminated automatically.
  74.   50        30        Info for sample #1 - described below
  75.   80        30        Info for sample #2
  76.              .
  77.              .        There are 31 info blocks if M.K., FLT4, FLT8, 6CHN,
  78.              .        8CHN, or OCTA is at
  79.              .        position 1080.  Otherwise, there are 15 and all offsets
  80.              .        are adjusted.
  81.              .
  82.   920       30        Info for sample #31
  83.   950       1         The number of pattern-positions in this song.  Range is
  84.                       1 to 128.
  85.   951       1         This byte  is  always  set to  127.    Something  about
  86.                       Noisetracker's "Restart" byte.  Probably not important,
  87.                       but it's there anyway.
  88.   952       128       Song positions 0-127. Each byte holds a number from 0 to
  89.                       63 indicating which pattern to play at that position.
  90.   1080      4         The four letters "M.K."   When a  couple of guys  named
  91.                       Mahoney and Kaktus increased the number of samples in a
  92.                       MOD file from 15 to 31, they stuck their initials in here
  93.                       to signify a 31 sample song. Startrekker puts "FLT4" or
  94.                       "FLT8" there instead.  If  the signature is not  there,
  95.                       then it's a 15  sample song and these  4 bytes are  NOT
  96.                       present.  Also note  that M.K. and  FLT4 denote a  four
  97.                       channel module. 6CHN means it has six channels, and 8CHN
  98.                       and OCTA indicate eight channels... More on that later.
  99.   1084      1024      Data for pattern #0 - described below
  100.              .
  101.              .
  102.              .
  103.   xxxx      xxxx      There are 1-64 patterndata blocks. The highest number in
  104.                       the position table at offset 952 will tell you how many
  105.                       patterns to load. e.g. if the highest pattern number in
  106.                       the table is  63, load 64  patterns because it's  zero-
  107.                       based. NOTE: When scanning for highest position number,
  108.                       scan ALL bytes in the table, not just the ones that will
  109.                       actually play.  (dumb, I know)
  110.   yyyy      yyyy      The sampledata (actual digital sound) starts right after
  111.                       the last pattern. Use the sampleinfo near the beginning
  112.                       to determine which samples to load and how long each is.
  113.  
  114.  
  115.  
  116.  
  117.                                      Page 2
  118.  
  119.  
  120.  
  121.  
  122.   SAMPLEINFO STRUCTURE
  123.   --------------------
  124.  
  125.   OFFSET    LENGTH    DESCRIPTION
  126.   ------    ------    -----------
  127.  
  128.   0         22        Sample name.  This is  padded with null bytes like  the
  129.                       song title.
  130.   22        2         Sample length in words. To get the actual number of bytes
  131.                       in the sample, just multiply by two. (Remember that this
  132.                       is a word variable, and NOT stored with the Intel  byte
  133.                       inversion!)
  134.   24        1         The lower four bits of this byte are the finetune value
  135.                       for the song, stored as a signed four-bit number.  (see
  136.                       below)  The upper four bits aren't used, and should  be
  137.                       set to 0000 for compatibility.
  138.  
  139.                       Value     Finetune
  140.                       0         0
  141.                       1         +1
  142.                       2         +2
  143.                       3         +3
  144.                       4         +4
  145.                       5         +5
  146.                       6         +6
  147.                       7         +7
  148.                       8         -8
  149.                       9         -7
  150.                       A         -6
  151.                       B         -5
  152.                       C         -4
  153.                       D         -3
  154.                       E         -2
  155.                       F         -1
  156.  
  157.   25        1         Default sample volume.  It  can range from 00h to  40h,
  158.                       which is  0 to  64  decimal. Note  that this  is  often
  159.                       overridden by some special effects, but if it isn't, you
  160.                       should use this value.
  161.   26        2         Loop start. It is stored as the number of words from the
  162.                       start of the sample.  Multiply by two to get the offset
  163.                       in bytes.  When the player reaches the end of a  sample
  164.                       that has loopstart and looplength set, it should continue
  165.                       playing the sample at loopstart.  After that, it should
  166.                       return to loopstart whenever  it has played  looplength
  167.                       more bytes.
  168.   28        2         Loop length.  It is stored as the number of words to be
  169.                       looped.  Looplength is set to ONE (TWO once multiplied)
  170.                       by some MOD trackers when no looping is to be in effect.
  171.                       Others use ZERO.
  172.  
  173.  
  174.  
  175.                                      Page 3
  176.  
  177.  
  178.  
  179.  
  180.   PATTERNDATA STRUCTURE
  181.   ---------------------
  182.  
  183.   Each note is stored as four bytes (see below), and each note in each of the
  184.   four tracks is stored after one another, like this:
  185.  
  186.   OFFSET    LENGTH    DESCRIPTION
  187.   ------    ------    -----------
  188.   0         4         Note 1, Track 1 - described below
  189.   4         4         Note 1, Track 2
  190.   8         4         Note 1, Track 3
  191.   12        4         Note 1, Track 4
  192.   16        4         Note 2, Track 1
  193.             .
  194.             .
  195.             .
  196.   1020      4         Note 64, Track 4
  197.  
  198.   NOTE:     Six-channel mods and eight-channel mods work just like the  four-
  199.             channel variety, except the data for each row will be longer. For
  200.             example, in a six-channel song, Note 1 Track 4 will be followed by
  201.             Note 1 Track 5.  Then comes Note  1 Track 6, and THEN it goes  to
  202.             Note 2 Track 1.  Thus,  in a six-channel song, each pattern  will
  203.             take 1.5 times as much space, and in an eight-channel song,  each
  204.             pattern will be twice as long.
  205.  
  206.   Information for each note is disorganized as follows:
  207.  
  208.   +----Byte 1----+ +Byte 2+   +---- Byte 3 ---+ +Byte 4+
  209.   |              | |      |   |               | |      |
  210.   0000        0000-00000000   0000         0000-00000000
  211.   upper 4        12-bit      lower 4          12-bit
  212.   bits of         note       bits of          effect
  213.   sample         period      sample           command
  214.   number                     number
  215.  
  216.   NOTE:  "Upper 4 bits of sample number" is "Reserved" in a 15-sample MOD.
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.                                      Page 4
  234.  
  235.  
  236.  
  237.  
  238.   WHAT THE HECK IS A "PERIOD?"
  239.   ----------------------------
  240.  
  241.   Well, a period is just a stupid (and I DO mean stupid) method of storing what
  242.   note the player is supposed to play.  Here's the period table we used:
  243.  
  244.   OCTAVE    C    C#   D    D#   E    F    F#   G    G#   A    A#   B 
  245.     0       1712 1616 1525 1440 1359 1283 1211 1143 1078 1018 961  907    
  246.     1       856  808  763  720  679  641  605  571  539  509  480  453
  247.     2       428  404  381  360  340  321  303  286  270  254  240  227
  248.     3       214  202  191  180  170  160  151  143  135  127  120  113
  249.     4       107  101  95   90   85   80   76   71   67   64   60   57
  250.     5       53   50   48   45   42   40   38   36   34   32   30   28
  251.     6       27   25   24   22   21   20   19   18   17   16   15   14
  252.     7       13   N/A  12   11   N/A  10   N/A  9    8    8    N/A  7
  253.      
  254.   As you can see, there are N/A's at the bottom.  That's because when you get
  255.   that high  up (octave  7...) the  periods are  so close  together that  the
  256.   computer can't tell  the difference  (nor can most  humans) between  notes.
  257.   Nevertheless, we had NO CLUE how to use a period table when we started.  We
  258.   simply had the  nifty collection  of numbers  you see  dangling above  this
  259.   paragraph. Our best guess would be that you're supposed to create a look-up
  260.   table so that you  can turn the  useless period number  into a more  useful
  261.   frequency.  This, of course, prompted  the question "Why?"  So, we  (mostly
  262.   Avery) thought, and we decided to trash the thing and come up with a formula
  263.   that does the conversion for you...  The formula we used is:
  264.                        Freq = 10,000 * 340 / period
  265.  
  266.      It works, and it's good enough. I can't tell the difference, can YOU tell
  267.   the difference?  This takes a bit  of tweaking - if you change the  numbers
  268.   slightly, you may get better/worse sound.
  269.  
  270.   Version 1.2  of  MIX  uses  a totally  different  method  of  figuring  out
  271.   frequencies from periods. I did this when I discovered that DNA's Christmas
  272.   music didn't  sound quite  like it  did when  it was  composed!   Actually,
  273.   Christmas '93 used MIX 1.1, so it sounded off-key... but MIX 1.2 will  play
  274.   the songs correctly.  When  I load a MOD,  I use the following  translation
  275.   table (C source code):
  276.  
  277.   unsigned periodtable[96]={
  278.        1712,1616,1524,1440,1356,1280,1208,1140,1076,1016,960,906,  // 0
  279.         856, 808, 762, 720, 678, 640, 604, 570, 538, 508,480,453,  // 1
  280.         428, 404, 381, 360, 339, 320, 302, 285, 269, 254,240,226,  // 2
  281.         214, 202, 190, 180, 170, 160, 151, 143, 135, 127,120,113,  // 3
  282.         107, 101,  95,  90,  85,  80,  76,  71,  67,  64, 60, 57,  // 4
  283.          54,  51,  48,  45,  42,  40,  38,  36,  34,  32, 30, 28,  // 5
  284.          27,  25,  24,  23,  21,  20,  19,  18,  17,  16, 15, 14,  // 6
  285.          13,  13,  12,  11,  11,  10,   9,   9,   8,   8,  8,  7}; // 7
  286.  
  287.  
  288.  
  289.  
  290.  
  291.                                      Page 5
  292.  
  293.  
  294.  
  295.  
  296.   Search through the table until you find a value <= the one stored in the MOD.
  297.   Make 'x' the index into the table that you found the value.  So, the OCTAVE
  298.   number is x/12, and the note number is x%12 (meaning, x MOD 12).
  299.  
  300.   When you actually play the song, use the following frequency table to look up
  301.   the proper frequency to play.  The frequency value is:
  302.         freqtable[note] >> (7-octave)
  303.  
  304.   For non-C programmers, look up value number 'note' in freqtable (which will
  305.   be from 0-11, just  like the freqtable).   Then, right-shift it  '7-octave'
  306.   times (a right shift is the same as a divide by 2... two right shifts is the
  307.   same as a divide by 4, etc).
  308.  
  309.   And here's frequency table (more C source code):
  310.  
  311.   // frequency table for octave 7
  312.   long freqtable[12]={
  313.             //c         c#        d       d#         e        f
  314.             8226*32L,8748*32L,9272*32L,9800*32L,10420*32L,11007*32L,
  315.             //f#        g         g#        a         a#         b
  316.             11696*32L,12400*32L,13070*32L,13950*32L,14760*32L,15646*32L
  317.             };
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.                                      Page 6
  350.  
  351.  
  352.  
  353.  
  354.   EFFECT COMMANDS
  355.   ---------------
  356.  
  357.   Since all I'm supposed to tell you in this file is the format of the MOD file
  358.   and how to read it, I'm not going  to tell you how to go about playing  the
  359.   song. I will, however, tell you what all the effect commands do.  An effect
  360.   command consists of 3 "nibbles." (a nibble is exactly 4 bits, or half a byte)
  361.   The first nibble is the command, ranging from 0 to F.  The second and third
  362.   nibbles are the effect data, and each effect uses them differently.  If the
  363.   first (command) nibble is  E, then the second  byte is an extended  command
  364.   name, and the third byte is the data.  Here's a super-brief listing of  all
  365.   the commands.
  366.  
  367.   0 - None/Arpeggio                  8 - NOT USED
  368.   1 - Portamento Up                  9 - Sample Offset
  369.   2 - Portamento Down                A - Volume Slide
  370.   3 - Tone Portamento                B - Position Jump
  371.   4 - Vibrato                        C - Set Volume
  372.   5 - Tone Portamento + Volume Slide D - Pattern Break
  373.   6 - Vibrato + Volume Slide         E - Extended Command (below)
  374.   7 - TremoloF - Set Speed
  375.  
  376.   The extended commands:
  377.   E0 - Filter on/off                 E8 - NOT USED
  378.   E1 - Fineslide Up                  E9 - Retrig
  379.   E2 - Fineslide Down                EA - FineVol Up
  380.   E3 - Glissando Control             EB - FineVol Down   
  381.   E4 - Vibrato Control               EC - Note Cut
  382.   E5 - Set Finetune                  ED - Note Delay
  383.   E6 - Patternloop                   EE - Pattern Delay   
  384.   E7 - Tremolo Control               EF - Invert Loop
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.                                      Page 7
  408.  
  409.  
  410.  
  411.  
  412.   0 - None/Arpeggio
  413.   -----------------
  414.   Usage: 0xy, where x and y are numbers of halfnotes to add. Arpeggio is used
  415.   to simulate chords by playing the original  note for 1 tick, then adding  x
  416.   halfnotes and playing that note for 1 tick, then adding y halfnotes to  the
  417.   original value, playing that note for 1  tick, then starting over.  If  you
  418.   want no effect, just leave  both parameters at 0.   There are 50 ticks  per
  419.   second, and "songspeed" ticks per note.
  420.  
  421.  
  422.   1 - Portamento Up
  423.   -----------------
  424.   Usage: 1xx, where xx is the speed of the slide, in hex. This command simply
  425.   slides the sample pitch up.  Our  sources say that you cannot slide  higher
  426.   than B-3 (period 113), but I sure  don't know why.  The portamento will  be
  427.   called every tick, as many times as the speed of the song. Each tick, xx is
  428.   subtracted from the period.   Make SURE you  start the slide __AFTER__  the
  429.   first tick!
  430.  
  431.  
  432.   2 - Portamento Down
  433.   -------------------
  434.   Usage: 2xx, where xx is the speed of the slide, in hex.  This command works
  435.   exactly the same as Portamento up,  except xx is added to the period  every
  436.   tick.  Apparently, you cannot slide lower than C-1.  Again, start AFTER the
  437.   first tick.
  438.  
  439.   3 - Tone Portamento
  440.   -------------------
  441.   Usage: destination note + 3xx,  where xx is the speed  of the slide.   This
  442.   command will slide from the old note to the new note, at speed xx. MODs don't
  443.   have to worry about the slide direction, because it will always be toward the
  444.   new note. You only have to worry about the speed. To keep on sliding at the
  445.   same speed, a "300" command is issued. (command 3, parameters 0 and 0) Same
  446.   rule about starting after the first tick applies.
  447.  
  448.  
  449.   4 - Vibrato
  450.   -----------
  451.   Usage: 4xy, where x is the speed, and y is the depth.  This command  wavers
  452.   the pitch of the note real quickly.   To keep on vibrating, just issue  the
  453.   command "400".  I wouldn't be surprised if the _AFTER_ the first tick thing
  454.   applies here too.  Same with many of the following effects...  :)
  455.  
  456.  
  457.   5 - Tone Portamento + Volume Slide
  458.   ----------------------------------
  459.   Usage: 5x0 or 50y.   (see the Volume Slide command)   To use this  command,
  460.   there has to be a Tone Portamento already in effect. This command continues
  461.   the portamento, and also slides the volume.
  462.  
  463.  
  464.  
  465.                                      Page 8
  466.  
  467.  
  468.  
  469.  
  470.   6 - Vibrato + Volume Slide
  471.   --------------------------
  472.   Usage: 6x0 or  60y.  (again,  see the Volume  Slide command)   To use  this
  473.   command, there has to be a Vibrato already in effect. This command continues
  474.   the vibrato, and also slides the volume.
  475.  
  476.  
  477.   7 - Tremolo
  478.   -----------
  479.   Usage: 7xy, where x is the speed, and  y is the depth.  This command  works
  480.   just like Vibrato, except the volume of the note is vibrated instead of the
  481.   pitch.
  482.  
  483.  
  484.   9 - Sample Offset
  485.   -----------------
  486.   Usage: 9xx, where xx is  the offset.  Instead  of starting the note at  the
  487.   beginning of the sample, this command will let you start from wherever  you
  488.   want.  Take the value of xx, multiply it by 256, and start from that offset
  489.   in the sample.
  490.  
  491.  
  492.   A - Volume Slide
  493.   ----------------
  494.   Usage: Ax0 or A0y.  This command slides  the volume of the sample.  In  the
  495.   first case, Ax0, the volume is slid up at speed x.  In the case of A0y, the
  496.   volume is slid down at speed y. (ie - the value is added or subtracted from
  497.   the volume every tick) Make sure you start the slide _AFTER_ the first tick!
  498.  
  499.  
  500.   B - Position Jump
  501.   -----------------
  502.   Usage: Bxx, where xx is  the position to jump to.   This command stops  the
  503.   current pattern and jumps to the position specified by xx. xx can range from
  504.   0-127.
  505.  
  506.  
  507.   C - Set Volume
  508.   --------------
  509.   Usage: Cxx, where xx is new volume.  This command changes the volume of the
  510.   current note.  The volume stays in effect until another note is encountered
  511.   with a new sample  number (you can  continue at this  volume and with  this
  512.   sample by using sample #0)  xx can range from 0-40 hex.
  513.  
  514.  
  515.   D - Pattern Break
  516.   -----------------
  517.   Usage: D00.   This  command stops  the  current pattern  and jumps  to  the
  518.   beginning of the next position in the position table. (If that was the last
  519.   position, the song will end)
  520.  
  521.  
  522.  
  523.                                      Page 9
  524.  
  525.  
  526.  
  527.  
  528.   F - Set Speed
  529.   -------------
  530.   Usage: Fxx, where xx is the speed of the song.  This command sets the speed
  531.   of the song. If xx is between 1 and 1B hex, then that is the number of ticks
  532.   per note. If it's more than 1B, then it's the number of beats per minute.  
  533.  
  534.  
  535.   And now all the extended commands:
  536.      
  537.   E0 - Filter Status
  538.   ------------------
  539.   Usage: E0x, where x is the filter status, 0 or 1.  This command plays  with
  540.   the sound filter on some Amigas.  1 disconnects the filter, and 0 turns  it
  541.   on.
  542.  
  543.  
  544.   E1 - Fineslide Up
  545.   -----------------
  546.   Usage: E1x, where x is the value to adjust by. This command works just like
  547.   normal Portamento up, except it only slides once. It slides the pitch by x.
  548.  
  549.  
  550.   E2 - Fineslide Down
  551.   -------------------
  552.   Usage: E2x, where x is the value to adjust by. This command works just like
  553.   normal Portamento down, except it only slides once.  It slides the pitch by
  554.   x.
  555.  
  556.  
  557.   E3 - Glissando Control
  558.   ----------------------
  559.   Usage: E3x, where x is the glissando status, 0 or 1.  This command must  be
  560.   used with the Tone Portamento command.   When glissando is activated,  tone
  561.   portamento will slide by a halfnote at a time, instead of a straight slide.
  562.   1 enables glissando, and 0 disables it.
  563.  
  564.  
  565.   E4 - Set Vibrato Waveform
  566.   -------------------------
  567.   Examples: 
  568.        E40  Set sine (default)
  569.        E44  Don't retrig waveform
  570.        E41  Set ramp down
  571.        E45  Don't retrig waveform
  572.        E42  Set squarewave
  573.        E46  Don't retrig waveform
  574.        E43  Set random
  575.        E47  Don't retrig waveform
  576.  
  577.  
  578.  
  579.  
  580.  
  581.                                     Page 10
  582.  
  583.  
  584.  
  585.  
  586.   E5 - Set finetune
  587.   -----------------
  588.   Usage: E5x, where x is the finetune value.  This command sets the  finetune
  589.   value. x represents the exact same values that it did when I told you about
  590.   the finetune value near the top of this doc.  Why you'd ever want to change
  591.   it in the middle of a song, I do not know.
  592.  
  593.  
  594.   E6 - Patternloop
  595.   ----------------
  596.   Usage: E6x.  If x  is 0, then that  spot is set as  the start of the  loop.
  597.   Farther on down the pattern, if you encounter something like E63, then  you
  598.   have to jump back up to the start of the loop three times before carrying on.
  599.  
  600.  
  601.   E7 - Set tremolo waveform
  602.   -------------------------
  603.   Usage: Just like the vibrato waveform control.
  604.  
  605.  
  606.   E9 - Retrig note
  607.   ----------------
  608.   Usage: E9x, where x is the tick to retrig at. This command will restart the
  609.   same sample every "x" ticks during the current note. If you retrig with the
  610.   command E91 in speed 6 (6 ticks per note), that note will be played six times
  611.   in one note slot.  This amounts  to restarting the note every x/50ths of  a
  612.   second.
  613.  
  614.  
  615.   EA - Fine Volume Slide Up
  616.   -------------------------
  617.   Usage: EAx, where x is  the value to slide by.   This command works like  a
  618.   normal volume slide up, except it slides only on the first tick instead of on
  619.   every tick in the note.  It adjusts the volume by x.
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.                                     Page 11
  640.  
  641.  
  642.  
  643.  
  644.   EB - Fine Volume Slide Down
  645.   ---------------------------
  646.   Usage: EBx, where x is the value to slide by. This command works like a fine
  647.   volume slide up.  It adjusts the volume by x.
  648.  
  649.  
  650.   EC - Note Cut
  651.   ED - Note Delay
  652.   EE - Pattern Delay
  653.   EF - Invert Loop
  654.   ------------------
  655.  
  656.   We have no idea.  :-)  The information we received explaining the format of
  657.   MOD files got cut off at this point...  Your guess is as good as mine.
  658.  
  659.   ---
  660.  
  661.   END OF FILE - Mod File Format Description.  Have a nice day.
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.                                     Page 12